params = Params.parse(params, { container: null,
layoutManager: Main.layoutManager,
monitorIndex: null,
- effects: Meta.BackgroundEffects.NONE });
+ effects: Meta.BackgroundEffects.NONE,
+ controlPosition: true });
this._container = params.container;
this._layoutManager = params.layoutManager;
this._effects = params.effects;
this._monitorIndex = params.monitorIndex;
+ this._controlPosition = params.controlPosition;
this.background = this._createBackground();
this._newBackground = null;
this._container.add_child(background.actor);
let monitor = this._layoutManager.monitors[this._monitorIndex];
- background.actor.set_position(monitor.x, monitor.y);
+
background.actor.set_size(monitor.width, monitor.height);
- background.actor.lower_bottom();
+ if (this._controlPosition) {
+ background.actor.set_position(monitor.x, monitor.y);
+ background.actor.lower_bottom();
+ }
let signalId = background.connect('changed', Lang.bind(this, function() {
background.disconnect(signalId);
this._lockScreenGroup.add_actor(this._lockScreenContents);
- this._backgroundGroup = new Meta.BackgroundGroup();
+ this._backgroundGroup = new Clutter.Actor();
this._lockScreenGroup.add_actor(this._backgroundGroup);
this._backgroundGroup.lower_bottom();
},
_createBackground: function(monitorIndex) {
- let bin = new St.Bin({ style_class: 'screen-shield-background' });
-
- let group = new Meta.BackgroundGroup();
- bin.child = group;
-
- let bgManager = new Background.BackgroundManager({ container: group,
+ let monitor = Main.layoutManager.monitors[monitorIndex];
+ let widget = new St.Widget({ style_class: 'screen-shield-background',
+ x: monitor.x,
+ y: monitor.y,
+ width: monitor.width,
+ height: monitor.height });
+
+ let bgManager = new Background.BackgroundManager({ container: widget,
monitorIndex: monitorIndex,
- effects: Meta.BackgroundEffects.BLUR | Meta.BackgroundEffects.DESATURATE });
-
+ effects: Meta.BackgroundEffects.BLUR | Meta.BackgroundEffects.DESATURATE,
+ controlPosition: false });
bgManager.background.saturation = 0.6;
this._bgManagers.push(bgManager);
- this._backgroundGroup.add_child(bin);
- bin.lower_bottom();
+ this._backgroundGroup.add_child(widget);
},
_updateBackgrounds: function() {